package com.soul.sys.service;

import com.soul.common.bean.vo.MenuTreeVo;
import com.soul.common.service.CommService;
import com.soul.sys.bean.dto.MenuSearchDto;
import com.soul.sys.bean.dto.menu.MenuAddDto;
import com.soul.sys.bean.dto.menu.MenuUpdateDto;
import com.soul.sys.bean.po.MenuPo;
import com.soul.sys.bean.vo.MenuVo;
import com.soul.sys.bean.vo.RouteVo;

import java.util.List;

/**
 * <p>
 * 菜单 服务类
 * </p>
 *
 * @author sws
 * @since 2023-09-01 22:40:38
 */
public interface MenuService extends CommService<MenuPo> {

    List<MenuTreeVo> queryMenuTree(MenuSearchDto searchForm);

    void addMenu(MenuAddDto menuAddDto);

    void updateMenu(MenuUpdateDto menuUpdateDto);

    MenuVo getMenuById(Long menuId);

    void deleteMenu(Long menuId);

    List<RouteVo> queryRoutesTree();

    List<MenuTreeVo> getParentMenu(MenuSearchDto searchForm);
}
